package com.juneng.quartz;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;

/**
 * @ClassName ApplicationRunner.java
 * @Description 功能描述：项目启动后执行的操作
 * @author 吴昊 2018年1月10日 下午12:25:27
 */
@Component
public class MyApplicationRunner implements ApplicationRunner {

    @Autowired
    private SchedulerService schedulerService;

    @Override
    public void run(ApplicationArguments var1) throws Exception {
        //启动就执行
//        schedulerService.updateJobCron(JobConstant.USE_WORK_TEST_JOB_NAME,JobConstant.USE_WORK_TEST_JOB_GROUP_NAME,
//                JobConstant.USE_WORK_TEST_TRIGGER_NAME,JobConstant.USE_WORK_TEST_TRIGGER_GROUP_NAME,
//                Test1Job.class, "0/10 * * * * ?");

//        /**
//         * 子任务过期执行
//         */
//        schedulerService.updateJobCron(JobConstant.TASK_JOB_NAME,JobConstant.TASK_JOB_GROUP_NAME,
//               JobConstant.TASK_TRIGGER_NAME,JobConstant.TASK_TRIGGER_GROUP_NAME,
//               TaskJob.class, "0/10 * * * * ?");
//
//        /**
//         * 每月一号拉取确认数据
//         */
//        schedulerService.updateJobCron(JobConstant.CONFIRM_JOB_NAME,JobConstant.CONFIRM_JOB_GROUP_NAME,
//               JobConstant.CONFIRM_TRIGGER_NAME,JobConstant.CONFIRM_TRIGGER_GROUP_NAME,
//               ConfirmInsertJob.class, "0 0 0 1 * ? ");
//
//        /**
//         * 每月二十五号确认数据逾期
//         */
//        schedulerService.updateJobCron(JobConstant.CONFIRM_EXPIRE_JOB_NAME,JobConstant.CONFIRM_EXPIRE_JOB_GROUP_NAME,
//               JobConstant.CONFIRM_EXPIRE_TRIGGER_NAME,JobConstant.CONFIRM_EXPIRE_TRIGGER_GROUP_NAME,
//                ConfirmExpireJob.class, "0 0 0 25 * ? ");

//         "0 0 0/1 * * ?"每隔一个小时
//        schedulerService.deleteJob(JobConstant.DEMO_JOB_NAME, JobConstant.DEMO_JOB_GROUP_NAME);
        /**
         * 每天00点01分新增一条monthly_report一条数据 0 01 0 * * ? *
         */
//        schedulerService.updateJobCron(JobConstant.EHRREPORT_JOB_NAME,JobConstant.EHRREPORT_JOB_GROUP_NAME,
//                JobConstant.EHRREPORT_TRIGGER_NAME,JobConstant.EHRREPORT_TRIGGER_GROUP_NAME,
//                MonthlyReportJob.class, "0 59 19 * * ? *");
        /**
         * 每月一号创建一张存单人事报表 0 0 0 1 * ?
         */
//        schedulerService.updateJobCron(JobConstant.EHRREPORTTABLE_JOB_NAME ,JobConstant.EHRREPORTTABLE_JOB_GROUP_NAME,
//                JobConstant.EHRREPORTTABLE_TRIGGER_NAME,JobConstant.EHRREPORTTABLE_TRIGGER_GROUP_NAME,
//                CreateTableJob.class, "0 52 19 * * ? *");

        /**
         * 每4个小时同步一次User表 0 0 0/4 * * ?
         */
//        schedulerService.updateJobCron(JobConstant.EHRUSER_JOB_NAME ,JobConstant.EHRUSER_JOB_GROUP_NAME,
//                JobConstant.EHRUSER_TRIGGER_NAME,JobConstant.EHRUSER_TRIGGER_GROUP_NAME,
//                SYNEhrUserJob.class, "0 47 19 * * ? *");

        // "0 0 0-23 * * ?"
        // "0/10 * * * * ?"
        // "0/10 * * * * ?"每隔10秒
        // "0 0/5 * * * ?"每隔5分钟
        // "0 * * * * ?"每个整分
        // "0 0 0/1 * * ?"每个小时整点
        // "0 0 0-23 * * ?"
        // "0 0 0/1 * * ?"

    }
}
